From fbb7c1f214d0ba656992454afb4dce83c00379d5 Mon Sep 17 00:00:00 2001 From: "mjw@wray-m-3.hpl.hp.com" Date: Thu, 12 Aug 2004 08:36:46 +0000 Subject: [PATCH] bitkeeper revision 1.1159.1.39 (411b2c1eB-OtkNjmHHNtVbwq7l26OA) Add xm migrate command. --- .rootkeys | 1 + tools/python/xen/xend/XendMigrate.py | 2 +- tools/python/xen/xm/main.py | 15 +++++++++- tools/python/xen/xm/migrate.py | 41 ++++++++++++++++++++++++++++ 4 files changed, 57 insertions(+), 2 deletions(-) create mode 100644 tools/python/xen/xm/migrate.py diff --git a/.rootkeys b/.rootkeys index 7b0e0c9a5b..eca19dc2bc 100644 --- a/.rootkeys +++ b/.rootkeys @@ -435,6 +435,7 @@ 40f552eariuUSB9TWqCPnDLz5zvxMw tools/python/xen/xm/destroy.py 40e41cd2w0I4En6qrJn4em8HkK_oxQ tools/python/xen/xm/help.py 40cf2937isyS250zyd0Q2GuEDoNXfQ tools/python/xen/xm/main.py +411b2c1ehdEGO_CwG0tvn85Q-Tfh5g tools/python/xen/xm/migrate.py 40cf2937PSslwBliN1g7ofDy2H_RhA tools/python/xen/xm/opts.py 40cf2937Z8WCNOnO2FcWdubvEAF9QQ tools/python/xen/xm/shutdown.py 40fcefb2K1xqVVT4D-p7nL2GzS4scg tools/sv/Main.rpy diff --git a/tools/python/xen/xend/XendMigrate.py b/tools/python/xen/xend/XendMigrate.py index 1ee32f90c0..5b10f4c358 100644 --- a/tools/python/xen/xend/XendMigrate.py +++ b/tools/python/xen/xend/XendMigrate.py @@ -289,7 +289,7 @@ class XendMigrateInfo(XfrdInfo): eserver.inject('xend.migrate.ok', self.sxpr()) else: self.state = 'error' - self.error(XendError("save failed")) + self.error(XendError("migrate failed")) eserver.inject('xend.migrate.error', self.sxpr()) class XendSaveInfo(XfrdInfo): diff --git a/tools/python/xen/xm/main.py b/tools/python/xen/xm/main.py index 16cdc0bdbb..09bf7266c9 100644 --- a/tools/python/xen/xm/main.py +++ b/tools/python/xen/xm/main.py @@ -11,7 +11,7 @@ from xen.xend import PrettyPrint from xen.xend import sxp from xen.xend.XendClient import XendError, server from xen.xend.XendClient import main as xend_client_main -from xen.xm import create, destroy, shutdown +from xen.xm import create, destroy, migrate, shutdown class Group: @@ -296,6 +296,19 @@ class ProgRestore(Prog): xm.prog(ProgRestore) +class ProgMigrate(Prog): + group = 'domain' + name = "migrate" + info = """Migrate a domain to another machine.""" + + def help(self, args): + migrate.help(arg) + + def main(self, args): + migrate.main(args) + +xm.prog(ProgMigrate) + class ProgList(Prog): group = 'domain' name = "list" diff --git a/tools/python/xen/xm/migrate.py b/tools/python/xen/xm/migrate.py new file mode 100644 index 0000000000..2ad18946b0 --- /dev/null +++ b/tools/python/xen/xm/migrate.py @@ -0,0 +1,41 @@ +# Copyright (C) 2004 Mike Wray + +"""Domain migration. +""" + +import sys + +from xen.xend.XendClient import server +from xen.xm.opts import * + +DOM0_NAME = 'Domain-0' +DOM0_ID = '0' + +gopts = Opts(use="""[options] DOM HOST + +Migrate domain DOM to host HOST. +The transfer daemon xfrd must be running on the +local host and on HOST. +""") + +gopts.opt('help', short='h', + fn=set_true, default=0, + use="Print this help.") + +def help(argv): + gopts.usage() + +def main(argv): + opts = gopts + args = opts.parse(argv) + if opts.vals.help: + opts.usage() + return + if len(args) != 2: + opts.err('Invalid arguments') + dom = args[0] + dst = args[1] + if dom in [DOM0_NAME, DOM0_ID]: + opts.err('Cannot migrate ' + dom) + server.xend_domain_migrate(dom, dst) + -- 2.30.2